查看原文
其他

三大“AI码农”:我的起薪30万 (下)

2017-12-13 二岳初 读芯术

欢迎关注AI应用领域最专业的垂类自媒体——读芯术



 

这是继前天读芯术头条《三大“AI码农”:我的起薪30万(上)》的连续报道。
为此,读芯君先严肃地开个场:
每一波浪潮的到来,都意味一片无人占领的蓝海,也意味着众多新成长起来的巨头,还意味着什么?
意味着大量的技术人员需求,供不应求的开发市场,以及从业者的高薪与众多的机会。


我们最常做的事情是目送着上一次浪潮的余波远去,感叹自己生不逢时,却没有意识到,下一波浪潮已经到了我们脚下。


所以,读芯君建议同学们的正确姿势如下:



言归正传。读芯君接着谈另外两大AI码农的就业局势。

 “调参工程师”:年薪百万难招一个机器学习工程师?


据《纽约时报》报道,只有几年经验的人工智能工程师现在就能拿到30至50万美元的年薪,而经验再丰富点的,拿个数百万美元不成问题。一个独立的人工智能实验室告诉《纽约时报》,全世界目前只有10000个人能带领新的人工智能项目。


这一角色比较有代表性的岗位是:机器学习工程师,常常被戏称为调参工程师。他们使用别人开发的框架和工具,运行已有算法,训练业务数据,获得工作模型。工作期间他们可能需要一些处理数据、选取特征或者调节参数的手段,不过一般都有据可循,并不需要自己去发明一个什么东西。


读芯君在这里PO一个机器学习的关系图:


 

程序员的分支


可见,说到底,机器学习工程师是广义的软件工程师(程序员)的一个分支。而每一个程序员都有一个领域。不过,不同领域在不同时期热度不同,发展趋势不同。AI 产品开发,是广义软件开发的一个领域,如今正好在热点上。


开发人工智能产品的程序员,也还是程序员。不过是需要懂一定程度的领域内理论知识而已,就和以前开发 PCI 协议栈要懂 PCI 协议,写网卡 driver 要懂 TCP / IP 的道理是一样的。


编码能力是基础。


既然是程序员,首先就不能丢掉程序员的基本素质:编码能力和基础算法能力(不是前面说的那种算法,而是链、树、图的构建、删除、遍历、查找、排序等数据结构里讲的那种算法),这是最起码的两个要求。


当然,既然在 AI 领域进行开发,一定程度的机器学习/深度学习知识还是有必要掌握的。记得Adobe的冯东大神也说过机器学习简直是21世界的黑科技——因为理论非常简单但是效果惊人的好。


此外,做工程也得读论文,不过和做算法不同,做工程读论文的一般目的不是尝试最新方法,而是用已知有效的方法来解决实际问题。


 
机器学习工程师要求这么高,如何在面试中过五关斩六将顺利拿到此职位的offer呢?我们从机器学习岗位面试最常见的三个主要部分说起:


1. 算法和理论基;

2. 工程实现能力与编码水平;

3. 业务理解和思考深度。


不过,尽管机器学习工程师岗位主要会考察1和2,但是实际工作中,算法的先进性对真正业务结果的影响,大概不到30%。当然算法必须要足够快,离线算法最好能在4小时内完成,实时算法要求大概更高。


同时,机器学习大多数场景是搜索、广告、垃圾过滤、安全、推荐系统等,如果你对业务有深刻的理解,那么你针对你所做出来的系统的结果的阐述情况,对于面试效果的影响超过70%。所以,如果你做过实际的项目,一定要主动说出来,主动让面试的官知道,这才是最大最大的加分项目。 这样看来,与其说花大量时间掌握机器学习,远比不上真正的实操撸几个生产项目要来得高效。


以下是读芯君从阿里一位工程师的PPT上扒下来的一张机器学习能力图谱:



看完上述,你的表情会不会变酱紫:
 


所以读芯君为同学们准备了一个简单的学习路线,如下图:


数据标注:每晚总在灯火阑珊处打标签


此处说得做数据并非数据的清洗和处理——大家可以看到做工程的岗位,有一部分工作内容就是 ETL 和处理数据,此处说的做数据是指数据标注。


现阶段数据远比算法重要。


简单说,数据标注就是:给各种各样的数据(文本、图像、视频、音频等)打上标签,使原数据(raw data)变成标注数据(labeled data)——标注数据是各种有监督学习的必要条件。虽然机器学习中有无监督学习,但在实践领域被证明有直接作用的,基本上还都是有监督模型。


近年来,深度学习在很多应用上取得了巨大的成功,而深度学习的成功,无论是图像、语音、NLP、自动翻译还是 AlphaGo,恰恰依赖于海量的标注数据。无论是做 ML 还是 DL 的工程师(算法&工程),后者尤甚,都共同确认一个事实:现阶段而言,数据远比算法重要。


固然,目前有多种技术用以在标注的过程中辅助人工,以减小工作量及降低人工标注比例,但至今没有能在应用领域完全自动化标注的技术出现。换言之,在看得见的未来之内,人工标注数据仍然是 AI 落地的必要和主流。


没有门槛,但可能一点都不cool


好消息:数据标注工作几乎没有门槛。一般任何专业的大学毕业生,甚至更低学历都能够胜任,上手不需要机器学习之类的专业知识。


坏消息:这样一份工作是纯粹的“脏活累活”,看起来可能一点都不 cool。


就单个任务而言,数据标注是一项很简单的工作,它的难点在于:数据一致性。


指所有数据的标注原则都是一样的。如果一份 raw data 由多个人同时标注,就算是反复宣讲标注原则,每个人也都有自己的理解和侧重,很难保证一致。甚至即使是将所有数据交给一个人,也可能在不同时间段理解不同。
 


很多公司出于对数据标注工作的不重视(正好与对算法的过分重视相映成趣),采取一种暴力解决方案试图消除不一致:让多个人(比如 3 个)同时标注同一份数据,一旦出现不一致,就采用简单多数法,取最多人一致认定的那种结果。


这种方案对于粗标数据还可以起到一定作用,但如果是精标,则往往连多数人一致的情况都难以出现。如果三个人所标结果完全不一样,那么这条数据也就失去了标注价值。在现实中,经常会出现同一份数据因为质量过低,被要求重复标注的情况出现,费时费力。


标数据是一种什么样的体验


读芯君在这里用最直观的方式为大家讲解何为数据标注。下图为最常见的几种方式:
 


看到上图的这个漂亮小姐姐了吗?上图蓝色文字框里所标明的文字,就是我们所说的数据标注其中的一种——分类标注。一张图就可以有很多的标签:成人/儿童、男/女、黄种人/白种人、长发/短发等等,那么对于文字,可以标注句子的成分,如主语、位于、宾语、补足语等等。这种类型的标注通常适用于对文本、图像、语音(如下图)和视频的标注。
 


第二种是标框标注,把要检测的对象框选起来。


 
还有一种是区域标注,相比于标框标注,区域标注要求更加精确。边缘可以是柔性的。如自动驾驶中的道路识别。
 


描点标注:一些对于特征要求细致的应用中常常需要描点标注。人脸识别、骨骼识别等。


 
在现在人工智能发展势头迅猛的前提下,数据的缺口是不容忽视的。未来几年内数据标注员的需求会一直存在。但像这种熟能生巧的工作,没有很强的科技含量是很容易被替代掉的。在这个岗位上,你所标注的数据就睡人工智能所要学习的内容,就像一个课堂上为学生划考试重点的老师,还是挺有成就感的。


数据标注是人工智能方面最初级的岗位,如果你想一直从事此相关的行业并且做出一定成就,恐怕就要努力学习转变一下工作方向喽。

读芯君开扒


综上分析,读芯君在这里做个比心的小结——这篇系列报道,我们介绍了 AI 领域内的几个工种,打个不太恰当的比喻:


做算法是屠龙,仗剑江湖,天外飞仙。


做工程是狩猎,跃马奔腾,纵酒狂歌。


做数据是养猪,每天拌猪食清猪粪,一脸土一身泥。


其实无论是你专注的哪个方向,都需要在不断学习和拓展知识的广度和深度,在此基础上认真对行业发展趋势做出理性的判断,谨慎选择,好高骛远只会虚掷光阴,脚踏实地才能实现理想。不论你选择屠龙、狩猎,还是本本分分一丝不苟地做数据,你的兴趣永远是你最好的老师。                          




来自美国、欧洲及国内长期从事AI研究和AI产品应用的专家学者、AI公司科学家、AI产品开发者,共同探讨AI落地的最后一公里。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存